// #include<iostream>
// using namespace std;
// int main(){
//   int n,m,i,j;
//   cin>>n>>m;
//   int a[m];
//   for(i=0;i<m;i++){
//     cin>>a[i];
//   }
//   for(i=0;i<m;i++){
//     int min=i;
//     for(j=i+1;j<m;j++){
//       if(a[j]<a[min])min=j;
//     }
//     swap(a[i],a[min]);
//   }
//   for(i=0;i<m;i++)cout<<a[i]<<" ";
// }
////超时了，换一个思路

//来自题解，称作桶排序,看懂后进行编写:
#include<iostream>
using namespace std;
int main(){
  int n,m,i,j;
  cin>>n>>m;
  int a[n+1]={};
  for(i=0;i<m;i++){
    cin>>j;
    a[j]++;
  }
  for(i=1;i<=n;i++){
    while(a[i]--){
      cout<<i<<" ";
    }
  }
}